p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ Non-Overlap Check
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
*12(s1(x), y) -> +12(*2(x, y), y)
+12(x, s1(y)) -> +12(x, y)
*12(s1(x), y) -> *12(x, y)
FACT1(s1(x)) -> P1(s1(x))
FACT1(s1(x)) -> *12(s1(x), fact1(p1(s1(x))))
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
*12(s1(x), y) -> +12(*2(x, y), y)
+12(x, s1(y)) -> +12(x, y)
*12(s1(x), y) -> *12(x, y)
FACT1(s1(x)) -> P1(s1(x))
FACT1(s1(x)) -> *12(s1(x), fact1(p1(s1(x))))
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
+12(x, s1(y)) -> +12(x, y)
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
+12(x, s1(y)) -> +12(x, y)
[+^11, s1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
*12(s1(x), y) -> *12(x, y)
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
*12(s1(x), y) -> *12(x, y)
[*^11, s1]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
FACT1(s1(x)) -> FACT1(p1(s1(x)))
p1(s1(x)) -> x
fact1(0) -> s1(0)
fact1(s1(x)) -> *2(s1(x), fact1(p1(s1(x))))
*2(0, y) -> 0
*2(s1(x), y) -> +2(*2(x, y), y)
+2(x, 0) -> x
+2(x, s1(y)) -> s1(+2(x, y))
p1(s1(x0))
fact1(0)
fact1(s1(x0))
*2(0, x0)
*2(s1(x0), x1)
+2(x0, 0)
+2(x0, s1(x1))